This disclosure relates generally to social networking, and in particular to providing and receiving information about a user to a third party applications based on action types associate with the information.
Social networking systems have become prevalent in recent years because they provide a useful environment in which users can connect to and communicate with other users. Although a variety of different types of social networking systems exist, these systems commonly provide mechanisms allowing users to define and interact within their social networks. In this context, a user may be an individual or any other entity, such as a business or other non-person entity. Accordingly, while enabling social communications among friends, a social networking system can also be a valuable tool for businesses to engage with potential consumers. Even without a commercial purpose, a social networking system may allow other types of entities to spread their message. For example, a non-person entity may set up a page or group that other users can “like” or otherwise become associated with, which enables the non-person entity to provide a forum to receive and transmit communications to a group of interested users.
Useful social information may be maintained conceptually in a “social graph” of nodes interconnected by edges. Each node in the social graph represents something that can act on and/or be acted upon by another node. Common examples of nodes include users, non-person entities, content items, groups, events, locations, messages, concepts, and any other things that can be represented by an object in a social networking system. An edge between two nodes in the social graph represents a particular kind of connection between the two nodes resulting from an action that was performed by one of the nodes on the other node.
For example, if one user establishes a connection with another user in the social networking system, the users are represented as nodes, and the edge between them represents the established connection. Continuing this example, one user may send a message to the other within the social networking system. The messaging action represents another edge between the two nodes that is identified by the social networking system. The message itself may be treated as a node. In another example, one user may tag another user in an image maintained by the social networking system. This tagging action may create edges between the users as well as an edge between each of the users and the image, also a node. In yet another example, if a user confirms attendance at an event, the user and the event are nodes, where the attendance of the event is the edge. Using a social graph, therefore, a social networking system may maintain many different types of objects and the interactions and connections among those objects, thereby generating an extremely rich store of socially relevant information.
Social networking systems allow users to share their interests and preferences in real-world concepts, such as their favorite movies, musicians, celebrities, soft drinks, hobbies, sports teams, and activities. These interests may be declared by users in user profiles and may also be inferred by social networking systems. Users can also interact with these real-world concepts through multiple communication channels on social networking systems, including interacting with pages on the social networking system, sharing interesting articles about causes and issues with other users on the social networking system, and commenting on actions generated by other users on objects external to the social networking system. Actions performed on objects by users on external websites, such as playing gaming applications, listening to music-streaming services, and reading document sharing systems, may also be captured by the social networking system. Although users may share their interests, tools have not been developed to enable users share information about their interactions with objects to third party applications.
Accordingly, what are needed are mechanisms to enable users to share information with third party applications based on action types. This enables third party applications to generate content personalized to the user.